package com.itheima.day20.demo07;

import java.util.function.Function;

/**
 * `Function`接口中最主要的抽象方法为：`R apply(T t)`，根据类型T的参数获取类型R的结果。
 * <p>
 * 说明：
 * <p>
 * Function接口其实是一个转换接口，具有转换功能，可以将传入的T类型数据转换为R类型数据。转换的操作由Lambda表达式来处理，就是根据类型T作为参数的数据获取R类型的数据。
 * <p>
 * 使用的场景例如：将`String`类型转换为`Integer`类型。
 * <p>
 * "123"------>转换为123。
 */
public class FunctionDemo {
    public static void main(String[] args) {
        String string = "123";
        int i = method(string, Integer::parseInt);
        System.out.println(i);
    }

    public static int method(String str, Function<String, Integer> function) {
        return function.apply(str);
    }
}
